5b3c80277181aa7c1290b45f8a8e5c058df5ed6c,src/freenet/node/MemoryChecker.java,MemoryChecker,run,#,35
Before Change
Runtime r = Runtime.getRuntime();
Logger.normal(this, "Memory in use: "+SizeUtil.formatSize((r.totalMemory()-r.freeMemory())));
if (r.freeMemory() < 8 * 1024 * 1024) { // free memory < 8 MB
Logger.error(this, "memory too low, trying to free some");
After Change
Runtime r = Runtime.getRuntime();
long totalMemory = r.totalMemory();
long freeMemory = r.freeMemory();
long maxMemory = r.maxMemory();
Logger.normal(this, "Memory in use: "+SizeUtil.formatSize((totalMemory-freeMemory)));
if (freeMemory < 8 * 1024 * 1024 // free memory < 8 MB
&& (totalMemory == maxMemory || maxMemory == Long.MAX_VALUE)) { // we have allocated max memory